package com.chancein.cloud.ocr.process.util;

import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.io.InputStream;
import java.util.Base64;
import java.util.Objects;

/**
 * 图片转64编码
 *
 * @author: LiaoZiHao
 * @date: 2023/8/10 9:27
 * Copyright © 2022 Hundsun Technologies Inc. All Rights Reserved
 */
@Slf4j
public class ImageBase64Utils {
    /**
     * 将图片文件转化为字节数组字符串，并对其进行Base64编码处理
     *
     * @param imgPath 图片路径
     * @return base64字符串
     */
    public static String imageToBase64(InputStream imgPath)  {
        // 将图片文件转化为字节数组字符串，并对其进行Base64编码处理
        byte[] data = null;
        // 读取图片字节数组
        try {
            data = new byte[imgPath.available()];
            imgPath.read(data);
        } catch (IOException e) {
            log.error(e.getMessage(), e);
        }
        // 对字节数组Base64编码, 返回Base64编码过的字节数组字符串
        return Base64.getEncoder().encodeToString(Objects.requireNonNull(data));
    }
}
